In some networks, such as software defined networks or OpenFlow™ networks, control plane tasks are cleanly separated from data plane tasks. For example, forwarding entities, such as routers or switches, only perform the data plane tasks, such as forwarding packets between various ports after applying modification to the packet's encapsulation such as modifying a header. A separate control server may perform the control plane tasks, such as learning about media access control (MAC) address, participating in routing algorithms, learning about various routes, performing various neighbor discovery related tasks and gleaning about address mapping etc. The forwarding entities talk to the controller using a protocol specified by OpenFlow™ specification. When control plane tasks, such as routing, running on the OpenFlow™ controller determine a route about various prefixes, the controller will translate the route to a flow and push these flows to the forwarding devices. The forwarding devices only run OpenFlow™ protocol in an “agent” like role and listen for flow-updates from the controller. Upon receiving a flow, the forwarding devices typically program their data plane, which performs packet forwarding. Also the controller receives port status information and thereby has an updated view of the network topology.
In any multi-stage network, a link may fail. The failure must propagate through the network so that routing algorithms can converge on the new state of network and alternate routes can be derived for traffic destined for hosts or switches affected by the link failure. In an OpenFlow™ network, convergence latency is increased because of (1) latency of reporting the link failure from the switch that detects failure to the controller, (2) the controller manipulating the new routing topology, and (3) the controller distributing the new routing information to all affected switched in the form of OpenFlow™ flows. Depending on the network load, topology, and switches, this latency can be several seconds long. During this extended convergence period, all packets routed along the route having the failed link are dropped. Because such networks may operate at speeds of 10-100 Gbps, such packet loss during this period can amount to hundreds of lost packets.